Data fragmentation or free space fragmentation in a computing system results in inefficiencies that generally reduce storage capacity and performance.
Fragmentation may occur when already stored files are modified and there is insufficient consecutive storage memory space to store the modified file at the same storage memory address. In this case, the modified file may be fragmented and a portion of the modified file may be stored at a different position. Alternatively, the entire modified file may have to be moved to a different storage memory address with sufficient consecutive storage memory space to store the modified file resulting in input/output (I/O) inefficiencies.
Inefficiencies may also result from storing related files separately, even though the files themselves may not be fragmented. For example, in a rotating platter drive, if two files that are generally accessed together are located in two different storage memory spaces, then reading and/or writing to the two files may always involve a delay in moving the read/write head from one storage memory space to the other storage memory space.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.